Satellite navigation systems, such as GPS (USA) and GLONASS (Russia), are intended for high accuracy self-positioning of different users possessing special navigation receivers. A navigation receiver receives and processes radio signals broadcasted by satellites located within line-of-sight distance. The satellite signals comprise carrier signals which are modulated by pseudo-random binary codes, which are then used to measure the delay relative to local reference clock or oscillator. These measurements enable one to determine the so-called pseudo-ranges between the receiver and the satellites. The pseudo-ranges are different from true ranges (distances) between the receiver and the satellites due to variations in the time scales of the satellites and receiver and various noise sources. To produce these time scales, each satellite has its own on-board atomic clock, and the receiver has its own on-board clock, which usually comprises a quartz crystal. If the number of satellites is large enough (more than four), then the measured pseudo-ranges can be processed to determine the user location (e.g., X, Y, and Z coordinates) and to reconcile the variations in the time scales. Finding the user location by this process is often referred to as solving a navigational problem or task.
The necessity to guarantee the solution of navigational tasks with accuracy better than 10 meters, and the desire to raise the stability and reliability of measurements, have led to the development of the mode of "differential navigation ranging", also called "differential navigation" (DN). In the DN mode, the task of finding the user position is performed relative to a Base station (Base), the coordinates of which are known with the high accuracy and precision. The Base station has a navigation receiver which receives the signals of the satellites and processes them to generate measurements. The results of these measurements enable one to calculate corrections, which are then transmitted to the user that also uses a navigation receiver. By using these corrections, the user obtains the ability to compensate for the major part of the strongly correlated errors in the measured pseudo-ranges, and to substantially improve the accuracy of his or her positioning.
Usually, the Base station is immobile during measurements. The user may be either immobile or mobile. Later on, we will call such a user "the Rover." The location coordinates of a moving Rover are continuously changing, and should be referenced to a time scale.
Depending on the navigational tasks to be solved, different modes of operation may be used in the DN mode. They differ in the way in which the measurement results are transmitted from the Base to the Rover. In the Post-processing (PP) mode, these results are transmitted as digital recordings and go to the user after all the measurements have been finished. In the PP mode, the user reconstructs his or her location for definite moments in the past.
Another mode is the Real-Time Processing (RTP) mode, and it provides for the positioning of the Rover receiver just during the measurements. The RTP mode uses a communication link (usually it is a radio communication link), through which all the necessary information is transmitted from the Base to the Rover receiver in digital form.
Further improvement of accuracy of differential navigation may be reached by supplementing the measurements of the pseudoranges with the measurements of the phases of the satellite carrier signals. If one measures the carrier phase of the signal received from a satellite in the Base receiver and compares it with the carrier phase of the same satellite measured in the Rover receiver, one can obtain measurement accuracy to within several percent of the carrier's wavelength, i.e., to within several centimeters.
The practical implementation of those advantages, which might be guaranteed by the measurement of the carrier phases, runs into the problem of there being ambiguities in the phase measurements.
The ambiguities are caused by two factors. First, the difference of distances .DELTA.D from any satellite to the Base and Rover is usually much greater than the carrier's wavelength .lambda.. Therefore, the difference in the phase delays of a carrier signal .DELTA..phi.=.DELTA.D/.lambda. received by the Base and Rover receivers may substantially exceed one cycle. Second, it is not possible to measure the integer number of cycles in .DELTA..psi. from the incoming satellite signals; one can only measure the fractional part of .DELTA..psi.. Therefore, it is necessary to determine the integer part of .DELTA..phi., which is called the "ambiguity". More precisely, we need to determine the set of all such integer parts for all the satellites being tracked, one integer part for each satellite. One has to determine this set along with other unknown values, which include the Rover's coordinates and the variations in the time scales.
In a general way, the task of generating highly-accurate navigation measurements is formulated as follows: it is necessary to determine the state vector of a system, with the vector containing n.sub..SIGMA. unknown components. Those include three Rover coordinates (usually along Cartesian axes X, Y, Z) in a given coordinate system (sometimes time derivatives of coordinates are added too); the variations of the time scales which is caused by the phase drift of the local main reference oscillator; and n integer unknown values associated with the ambiguities of the phase measurements of the carrier frequencies. The value of n is determined by the number of different carrier signals being processed, and accordingly coincides with the number of satellite channels actively functioning in the receiver. At least one satellite channel is used for each satellite whose broadcast signals are being received and processed by the receiver. Some satellites broadcast more than one code-modulated carrier signal, such as a GPS satellite which broadcasts a carrier in the L.sub.1 frequency band and a carrier in the L.sub.2 frequency band. If the receiver processes the carrier signals in both of the L.sub.1 and L.sub.2 bands, the number of satellite channels (n) increases correspondingly.
Two sets of navigation parameters are measured by the Base and Rover receivers, respectively, and are used to determine the unknown state vector. Each set of parameters includes the pseudo-range of each satellite to the receiver, and the fill (complete) phase of each satellite carrier signal. Each pseudo-range is obtained by measuring the time delay of a code modulation signal of the corresponding satellite. The code modulation signal is tracked by a delay-lock loop (DLL) circuit in each satellite tracking channel. The full phase of a satellite's carrier signal is tracked by a phase-lock-loop (PLL) in the corresponding satellite tracking channel. An observation vector is generated as the collection of the measured navigation parameters for specific (definite) moments of time.
The relationship between the state vector and the observation vector is defined by a well-known system of navigation equations. Given an observation vector, the system of equations may be solved to find the state vector if the number of equations equals or exceeds the number of unknowns in the state vector. In the latter case, conventional statistical methods are used to solve the system: the least squares method, the method of dynamic Kalman filtering, and various modifications of these methods.
Practical implementations of these methods in digital form may vary widely. In implementing or developing such a method on a processor, one usually must find a compromise between the accuracy of the results and speed of obtaining results for a given amount of processor capability, while not exceeding a certain amount of loading on the processor.
The most used general scheme comprises the following steps. The measured values of the pseudo-ranges and full phases at specific (definite) moments of time, along with an indication of the satellites to which these measurements belong to and the time moments of the measurements, are transmitted from the Base to the Rover (such as through the communication link or as recordings). Corresponding values are measured in the Rover receiver. The processing includes the determination of the single differences of the pseudo-ranges and full phases between the Base and Rover measurements for each satellite. The strongly correlated errors are compensated (i.e., substantially cancelled) in the single differences. Then, the residuals of the single differences are calculated by subtraction of calculated values from the measured results. The processing of residuals allows one to linearize the initial system of navigation equations (sometimes several subsequent iterations are necessary for that), which makes possible the use of the well developed body of mathematics for solving systems of linear equations. The components of the state vector, with the n ambiguities included, are found as a result of the solution. But the calculated values of the ambiguities are not necessarily integer numbers, and are often floating point numbers. Because of this, they are called "float ambiguities", or "floating ambiguities", at this stage of the solution. To find true values of the integer ambiguities one uses the procedure of rounding off the float ambiguity vector to the nearest set of integers. This process is called `the ambiguity resolution`. Only after the ambiguity resolution has been done is it possible to determine the true values of residuals and then, by solving the system of equation again, to find the coordinate values for the baseline connecting the Base and Rover, and consequently to determine the exact coordinates of Rover and the correction to its clock drift.
The described general scheme of computations is presented in more detail in the literature on satellite navigation. This presentation is the most complete in English in the book by Bradford W.Parkinson and James J.Spilker Jr., Global Positioning Theory and Applications, Volume 163 of Progress In Astronautics and Aeronautics, published by the American Institute of Aeronautics and Astronautics, Inc, Washington D.C., 1996. In Russian, the most complete presentation is in the book Network Satellite Radionavigating Systems, editor V. S.Shebshaevich, 2-nd edition, Publ. House Radio and Communication, Moscow, 1993.
The particular problems connected to the processing of the navigation information are considered in many articles, manuals and patents. Here we will dwell only on some of these problems which directly concern the subjects of the present inventions.
The first problem concerns the task of aligning (or synchronizing) the Base and Rover measurements to the same moment of time. This is a necessary condition for good compensation in the single differences of strongly correlated errors which change with time. The task of aligning can be solved by two ways: the first way, which is called the mode of "matched observation processing", delays the use of the Rover measurements until the corresponding Base measurements are received. This mode is poorly suited for Rovers in speedy motion, for which the positioning at definite, precisely fixed moments of time is required. The second way, which is called the mode of "low latency position processing", extrapolates the Base measurements forward in time up to the moment of reception of the corresponding Rover measurements. This mode is better suited to the task of generating accurate Rover coordinate at time moments which are arbitrarily chosen by a user or an application program at the Rover location.
In existing systems, different extrapolation methods are used, starting from the elementary linear prediction, which sometimes is sufficient for small prediction times (about several seconds). For longer prediction times (such as between 30 s and 60 s) it is recommended to take into account the statistic characteristics of the processes to be predicted, which mainly depend on the presence of selective access (in the system GPS), and on fluctuations of reference generators on board the satellites and the Base receiver. For such cases, one uses the extrapolation with the help of the Kalman filter. One of the possible variants of such an extrapolation unit is described in the article by J.Neumann, et al., entitled "Test Results from a New 2 cm Real Time Kinematics GPS Positioning System," The Proceedings of the 9-th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GPS-96), 1996, pp. 873-882. The essential difficulty in applying conventional extrapolation methods is that these methods are not designed for the occurrence of large abnormal errors in measurements which are used to base the predictions. The abnormal errors usually occur when the communication link between the Base and Rover operates in an environment having a large number of buildings and other objects which generate a large number of reflected signals. The signal received by moving Rover frequently fades, and the transmitted information is deformed by noise. To guarantee good predictions, it is necessary to analyze the incoming information and to exclude intervals of time containing abnormal errors. One set of methods for such an analysis is proposed as a first invention of this patent application.
Another problem arising during the solution of a navigation problem using the phase measurements is caused by the possible appearance of cycle slips in the PLL circuits which are tracking the satellite carrier signals. After a cycle slip occurs, the PLL circuit transits to a new point of steady balance, after which it goes on with tracking the satellite carrier signal. As a result of a cycle slip, an abnormal error equal to several integer number of semi-cycles (half-cycles) is introduced into the full phase measurements. Such an error may make computed position coordinates completely worthless. Sometimes it is possible to detect the appearance of a cycle slip by directly observing the rate of change of the full phase. During a cycle slip, this rate usually jumps in value, and this provides an opportunity to detect the slip. In some cases, it is possible to detect a cycle slip from implicit symptoms and signs. For example, a cycle slip is often accompanied with a deep fading of the signal amplitude, and the occurrence of the slip can be detected by detecting the fading of the signal. However, such a method of cycle slip detection does not have sufficient reliability. The characteristics of the slip process, as well as the reasons causing it, are very variable. There exist `slow` slips where the rate of the phase change differs only slightly from the usual rate of phase change due to the Rover's movement, and correspondingly, the cycle slip often cannot be detected by this symptom. The amplitude fading does not always coincide with the cycle slip appearance either. When measurements from a large number of satellite channels are used, it is possible to identify the channels for which the measurement results strongly differ from predictions made on the basis of data from other channels, and thereby to detect the slip. However, a substantial increase in the volume of calculations might be necessary to determine which set of channels have generated bad measurements. In addition, the sufficient amount of redundancy is often lacking. If the slip is nevertheless detected, it is necessary to make a decision on how to react to the slip. Thus, for example, if the number of active satellite channels is large enough, it is possible to exclude the channel for which the cycle slip is detected from further consideration. One may also act differently: having waited until the completion of the slip, one can resolve the ambiguity of phase measurements anew, with the affected channel included. For that it would be necessary to spend some time during which the generation of highly-accurate coordinates would stop, which is sometimes extremely undesirable.
The correction for the cycle slip immediately after its completion would be the best solution; but to do so, one has to measure the sign and value of the cycle slip. One of the methods to correct the phase slip was proposed by Isomura in U.S. Pat. No. 5,502,641. The following steps were proposed in that method:
1. Recording the time moment at which a satellite carrier signal first disappears, and determining the rate of change in the carrier's full phase during the time period just before the disappearance; this rate of change is called the "initial rate of change"; PA1 2. Recording the time moment at which the satellite carrier signal reappears and determining the rate of change in the carrier's full phase just after the reappearance; this rate of change is called the "final rate of change"; PA1 3. Calculating a predicted value of the full phase at the time moment of its reappearance based on the initial and final values of the rate of change, and on the measured value of the full phase before the signal disappearance; PA1 4. Comparing the predicted value with the value of the full phase measured accumulated by the tracking channel at the time of the signal's reappearance. If these values differ by more than a semi-cycle (half-cycle), one may assume that a cycle slip took place and take the corresponding correction.
We must note the fact that this method would give satisfactory results only in cases when the Rover does not change its velocity during the disappearance of the satellite carrier signal. We also point out that when a satellite signal is blocked from the receiver's antenna, the satellite signal can be reflected off of a nearby object or the ground and reach the antenna by a different path as a reflected signal. If this occurs, cycle slips may occur because of the difference in path lengths, and the Isomura method may not detect the slips because the method may not see the disappearance of the direct satellite signal. A second invention of the present application is directed to apparatuses and methods of cycle-slip detection which are based on a set of specific symptoms of the cycle slip, and therefore have higher reliability for Rover's making fast maneuvers.
A third problem relating to the solution of a navigation problem using the phase measurements concerns the ambiguity resolution stage. As it was already noted, the first part of this stage comprises the step of obtaining sufficiently accurate estimates of the float ambiguities. Typical computational methods for this task provide for the gradual accumulation of information that depends on the number and locations of the satellites, and correspondingly, the accuracy of estimation of the float ambiguities increases with time due to the smoothing of fluctuations in the measurements, and due to the geometry change in the satellite constellation.
A substantial number of works have been published that considered computational procedures for obtaining the float ambiguity estimations with sufficient accuracy in the ;shortest possible time. The computational speed of the processor used imposes the natural limitations here. That is why one tries to lower the loading on the processor, sometimes even to the detriment of accuracy.
Several of the publications use computations based upon Kalman filtering. The previously-mentioned article by J. B.Neumann, et al., (ION GPS-96) describes a Kalman filter method which simultaneously estimates the coordinates of the baseline and the floating ambiguities. The estimations are generated with delay after the corresponding measurements of the Base station have been received by the Rover. In the article entitled "Instant RTK cm with Low Cost GPS+GLONASS.TM. C/A Recievers" by D. Kozlov and M. Tkachenko, in The Proceedings of the 10-th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GPS-97), 1997, pp. 1559-1569, a method of generating the Kalman filter that provides the separate smoothing of float ambiguity estimates was considered. Various different methods for improving or simplifying the numerical computations have been proposed in several issued patents. In U.S. Pat. No. 4,812,991 to R. R. Hatch, it was proposed to smooth the code measurements by increments of the phase measurements separately for each satellite. After that smoothing, the baseline vector is estimated by the least squares method which uses the smoothed values of the pseudo-ranges. The method allows one to diminish the processor load substantially as it completely omits the step of ambiguity resolution. But this is achieved at the expense of a substantial decrease in the positioning accuracy. A similar idea of smoothing was used in the U.S. Pat. No. 5,451,964 to B. A. Babu, et al. Here the code measurements smoothing allows one to decrease the search zone for the integer ambiguity vector and, as a result, to reduce the time to find the correct resolution. A third invention of the present application is directed to methods which smooth the floating ambiguity estimates by a recurrent least squares method which is applied simultaneously and jointly to all of the satellite channels. It enables one to accelerate the obtaining of reliable integer ambiguities at an acceptable processor load.